/**
 * 
 */
package projeto.administrativo.colaboradorexterno.cdp;

import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;

import org.hibernate.annotations.Type;

import plataforma.base.cdp.Arquivo;
import plataforma.base.cdp.IObjetoComArquivo;
import plataforma.base.cdp.ObjetoPersistente;

/**
 * @author mike
 * 
 */
@Entity
public class Informacao extends ObjetoPersistente implements IObjetoComArquivo {

	private String descricao;
	private Date data;

	private String nomeArquivo;
	private Arquivo arquivo;
	

	@ManyToOne(fetch=FetchType.LAZY,cascade = CascadeType.ALL)
	public Arquivo getArquivo() {
		return arquivo;
	}

	public void setArquivo(Arquivo arquivo) {
		this.arquivo = arquivo;
	}

	public String getNomeArquivo() {
		return nomeArquivo;
	}

	public void setNomeArquivo(String nomeArquivo) {
		this.nomeArquivo = nomeArquivo;
	}

	@Column(nullable=false)
	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	/**
	 * @return the descricao
	 */
	@Column(length = 10000, nullable=false)
	public String getDescricao() {
		return descricao;
	}

	/**
	 * @param descricao
	 *            the descricao to set
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public boolean possuiArquivo() {

		if (nomeArquivo != null)
			return true;

		return false;
	}

}
